At the outset, the Axis.visibleRange is adjusted to be equal to the data range of an axis. However, an axis won't adjust its VisibleRange automatically when data changes, unless it is configured to do this. The default behavior can be changed using different AutoRange modes.
AutoRange Once
This is the default setting. The axis will attempt to autorange once to fit the data as you start the chart. This is an one-time action - the VisibleRange won't adjust to any data changes in future.
AutoRange Always
In this mode, the axis will attempt to autorange always to fit the data every time the chart is drawn. The VisibleRange will adjust to data changes correspondingly.
Please be aware that this setting will override any other ranging, including zooming and panning by modifiers, but is useful in situations where you always want to view the extents of the data.
To combine AutoRanging and user-zooming you need to use ZoomState - a special technique we will talk about later.
AutoRange Never
The axis will never autorange. With this option, you would need to set the VisibleRange manually. The VisibleRange won't adjust to any data changes.
Adding Padding or Spacing with GrowBy
Also, it is possible to add spacing or padding to the visibleRange when the chart autoranges via the GrowBy property. It allows to specify two fractions which will be always applied to the Min, Max values of visibleRange :
Programatically Ranging an Axis
See the section on Setting and Getting VisibleRange for more details.